﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Runtime.InteropServices;
using Hydra.Shell.Enumerations;

namespace Hydra.Shell.Interfaces
{
    [GuidAttribute("D5D49C61-1C0B-4EA1-9ADB-A79FB1DBC7B5")]
    public interface IHydraPersistDocData
    {
        bool GetGuidEditorType(out Guid pClassID);
        bool IsDocDataDirty(out bool pfDirty);
        bool SetUntitledDocPath(string pszDocDataPath);
        bool LoadDocData(string pszMkDocument);
        bool SaveDocData(HydraSaveFlags dwSave, out string pbstrMkDocumentNew, out bool pfSaveCanceled);
        bool Close();
        bool OnRegisterDocData(uint docCookie, IHydraHierarchy pHierNew, uint itemidNew);
        bool RenameDocData(HydraRunningDocumentTableAttributes grfAttribs, IHydraHierarchy pHierNew, uint itemidNew, string pszMkDocumentNew);
        bool IsDocDataReloadable(out bool pfReloadable);
        bool ReloadDocData(HydraReloadDocData grfFlags);
        bool SetDocDataDirty(int fDirty);
        bool IsDocDataReadOnly(out int pfReadOnly);
        bool SetDocDataReadOnly(int fReadOnly);
    }
}
